1. Technical Field of the Invention
The instant invention relates generally to computer systems, and more particularly, to a method and apparatus for providing an interface for contextual passive rule-based navigation between computer application programs and components thereof, supporting network navigation and network-disconnected use.
2. Background of the Invention
In the decade preceding the second millennium, computer technology has seen its largest growth spurt, with computers being smaller, cheaper, faster and available to everyone. Application programs that run on these machines span the gamut from the very mundane to the very complex. Invariably, it application programs are developed or used to accomplish certain sets specifically related tasks, whether they would be word processing, data management, desktop publishing, or communications. Further yet, application programs are logically correlated to the sets of specific tasks to be performed. Inevitably, these application programs are developed separately as stand-alone programs, which often consist of separately-executable components, in order to facilitate each of the specifically related tasks.
Today, organizations must necessarily obtain and manage large amounts of information to enable them to operate, make effective business decisions and plan strategies. In this regard, a very effective application program is a database management system (DBMS). There are a variety of database management systems available in the marketplace. Lotus Notes® is one of the most popular object-based database management systems in use today and particularly in use by the present assignee. It is a full-featured, robust groupware application developed by Lotus, which is now part of IBM. Lotus Notes® is a client-server platform that enables users to access, share and manage information over a network. Lotus Notes® supports access to a plurality of distributed databases of documents by users across a network. Lotus Notes® particularly enables users to create document databases, post them to a network and share them with their coworkers. Its sophisticated replication enables users to work with local copies of documents and have their modifications propagated throughout the entire Lotus Notes® network. Lotus Notes® additionally facilitates users to access network databases including collections of related documents, such as forms, reports, lists, articles and other information. The documents may contain text, graphics, pictures and other types of data. Lotus Notes® is additionally e-mail enabled, facilitating not only the sharing of databases of documents, but electronic mail as well.
A Lotus Notes® client is composed of a workspace of pages, wherein each workspace page holds databases of documents as well as other information. Workspace pages are similar to file folders in that each page may be optionally named, and comprises an area into which a user can place databases and other related information.
As aforementioned, in Lotus Notes®, related documents are stored in databases. For example, a user may create an address book database that contains the names, addresses and telephones of clients. Another often-used database is a mailbox database, which contains a collection of documents a user has sent or received. A user may access databases, which were created locally by the user or by a network administrator and which are available on a network server.
In database management systems, a view is a particular way of viewing a database. Typically, a view arranges records of the database in some order and makes only certain fields of the database visible. The different views do not affect the physical organization of the underlying database. A single database can support numerous views.
An organization may develop its own or use commercially-developed application programs for certain sets of specific tasks. Often, separately-developed application programs need to be utilized in seamless conjunction with or succession to one another to enable efficient workflow. The pervasive use of computers, networks and e-mail has made it possible to automate certain aspects of workflow. Word processing application programs provide excellent means for replacing paper with electronic formats. Databases provide means for storing and organizing vast amounts of information that used to reside in file cabinets. Networking has spawned e-mail, which in turn provides an excellent and almost instantaneous means of routing information within the organization and throughout the world. Finally, the inherent computing capabilities of computers provide a virtually unlimited resource to control the workflow process.
However, navigating through the many separately-developed application programs facilitating efficient workflow remains at best problematic. Therefore, what is needed, especially given today's dynamic nature of computing and number of application programs, is a system, which enables seamless navigation between a plurality of separately-developed computer application programs, and which facilitates efficient workflow. It is also highly desirable that such a system provide navigation based on a context associated with a particular program instance.
Furthermore, it also is highly desirable that the system be passive in nature facilitating a user's selection of a navigation path and not forcing the user into a discrete path.
However, the prior art DBMS systems have not filled this void when it comes to enabling passive contextual rule-based navigation between separately-developed application programs. The related prior art systems are herein illustrated.
3. Description of the Prior Art
U.S. Pat. No. 5,878,258 is directed to a concept of controlling computer applications, providing for a seamless interface management system (shell program), for use on computer workstations, permitting seamless integration of distinct applications within a common operating system. The shell program is a pre-defined user interface structure for access and control of the applications, which communicates with the applications via OLE (object linking and embedding) automatic transfer mechanisms.
U.S. Pat. No. 5,870,727 is directed to a rule-based system for the provision of complex navigational logic, automatically controlling the presentation of screen displays at the graphical user interface of a Client workstation, in a Client/Server environment. The system addresses rule-based navigation with a single Client workstation application.
U.S. Pat. No. 5,572,724 discloses a system for controlling communications in distributed systems, between an application and a remote system using a protocol identifier and an application context identifier, to realize the easy establishment of a communication path.
U.S. Pat. No. 5,696,915 discloses a method and apparatus for associating routines for controlling user actions in a computer-controlled display system, aimed at manipulation of an element of a graphical user interface using contexts.
U.S. Pat. No. 5,259,066 discloses a mathematically-based method for creating complete and consistent rule bases for use in expert systems, which are computer programs that provide the skill of an expert in a defied area of expertise, during inference processing.
U.S. Pat. No. 5,812,847 is directed to rule-based method for designing graphic user interfaces for computer applications, wherein time-consuming re-compilation and reloading of the application program is avoided whenever the associated graphical 120 user interface for a particular application program changes.
U.S. Pat. No. 5,216,592 discloses a system and method for business process automation, where the said system and method allow for rapid creation of a specific data processing system based upon a series of generic process rules that are previously developed and stored in the system.
Based on the aforementioned prior art, it has heretofore not been possible to seamlessly navigate between a plurality of application programs without requiring the hard-coding of a rule-base into the individual computer application program. The hard-coding of the rule-base into each computer application program requires redistribution of the application program whenever the rules are changed. Therefore, it is additionally highly desirable to be able to navigate between a plurality of application programs without the necessity of hard-coding a rule-base into each application program.
The design, development and coding of these application programs represent a significant investment of resources. In conventional programming, the application program must be modified in order to change the embedded hard-coded segments of code. Thus, it is also highly desirable to have a system that allows for dynamic rule-base management, which facilitates rule-base modification without actually modifying the application programs utilizing the rule-base, therefore, escaping the hard-coding requirements.